package com.bole.springboot_webflux.model;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Table;

import java.time.LocalDateTime;

@Data
@Table("users")
public class User {

    @Id
    private Long id;

    /**
     * 用户名
     * 表字段: users.name
     */
    private String name;

    /**
     * 邮箱地址
     * 表字段: users.email
     */
    private String email;

    /**
     * 创建时间
     * 表字段: users.created_at
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     * 表字段: users.updated_at
     */
    private LocalDateTime updatedAt;

    /**
     * 默认构造函数
     */
    public User() {
        this.createdAt = LocalDateTime.now();
        this.updatedAt = LocalDateTime.now();
    }

    /**
     * 带参数的构造函数
     * @param name 用户名
     * @param email 邮箱地址
     */
    public User(String name, String email) {
        this();
        this.name = name;
        this.email = email;
    }
}